// Copyright (C) 2025 by Huawei Technologies Co., Ltd. All rights reserved.

#pragma once

#include <string>
#include <vector>

#include "virtrust-sh/operator/op_itf.h"

namespace virtrust {

class OpMigrate : public OpItf {
public:
    explicit OpMigrate() : OpItf(OpTy::MIGRATE)
    {}
    ~OpMigrate() override = default;

    OpRc Exec() override;

    // Parse the args from command line
    OpRc ParseArgv(int argc, char **argv) override;

    // Print the usage of this operator
    void PrintUsage() override;

private:
    std::string domainName_ = "unknown";
    std::string destUri_;
    unsigned int flags_ = 0;
};

} // namespace virtrust
